package com.byyy.ccts.modules.cc.service;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.byyy.ccts.core.common.service.ICommonService;
import com.byyy.ccts.core.query.data.Queryable;
import com.byyy.ccts.modules.cc.entity.ccts.TSHumiture;

import java.util.Date;
import java.util.List;

/**
 * Created by DELL on 2018-5-7.
 */
public interface IHumitureService extends ICommonService<TSHumiture> {

    /** 根据设备编号以及采集时间查找重复数据 */
    public List<TSHumiture> queryRepeatData(String deviceId, List<String> collectionTimes);

    /** 查询某个时间段内设备的温度记录 */
    public List<TSHumiture> queryDeviceTempByTime(List<String> deviceIdList, Date beginTime, Date endTime);

    /** 查询某个时间段内设备的温度记录 */
    public List<TSHumiture> queryDeviceTempByTimeUpload(List<String> deviceIdList, Date beginTime, Date endTime);

    /** 查询某个时间段内所有设备的温度记录 */
    public List<TSHumiture> queryAllDeviceTempByTime(Date beginTime, Date endTime);

    /** 根据设备ID以及开始和结束时间查询温度列表 */
    public com.byyy.ccts.core.query.data.Page<TSHumiture> humitureList(Queryable queryable, Wrapper<TSHumiture> wrapper);

    /** 根据设备ID以及开始和结束时间查询温度列表 */
    Page<TSHumiture> humitureListPage(Page<TSHumiture> page, Wrapper<TSHumiture> wrapper);

    /** 根据设备ID查询最新的设备温湿度数据 **/
    List<TSHumiture> queryLastedHumitureInfo(List<String> deviceIds);

    /** 根据设备ID查询最新的设备温湿度数据(不限制时间)**/
    List<TSHumiture> queryLastedHumitureInfoNoLimit(List<String> deviceIds);

    /** 查询所有设备最新数据 **/
    List<TSHumiture> queryCurrentInfo();
}
